﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Controller;
using Interface;
using Model;

namespace GUI
{
    /// <summary>
    /// Interaction logic for Messe.xaml
    /// </summary>
    public partial class MesseVindue : Window
    {
        MainController MesseController;
        IMesse aktuelMesse;

        public MesseVindue()
        {
            InitializeComponent();
            MesseController = new MainController();
            updateMesseListe();

            //tilstandsstyring
            btn_SletMesse.IsEnabled = false;
            btn_åbnMesse.IsEnabled = false;
        }

        private void btn_opretMesse_Click(object sender, RoutedEventArgs e)
        {
            OpretMesseVindue opretMesseVindue = new OpretMesseVindue(MesseController);
            opretMesseVindue.ShowDialog();
            updateMesseListe();
        }

        private void updateMesseListe()
        {
            listView1.Items.Clear();

            foreach (IMesse m in MesseController.Messer())
            {
                listView1.Items.Add(m);
            }
        }

        private void btn_SletMesse_Click(object sender, RoutedEventArgs e)
        {
            MesseController.SletAktuelMesse(aktuelMesse);
            updateMesseListe();
        }

        private void listView1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (listView1.SelectedIndex != -1)
            {
                aktuelMesse = (IMesse)listView1.SelectedItem;
                btn_SletMesse.IsEnabled = true;
                btn_åbnMesse.IsEnabled = true;
            }
            else
            {
                btn_SletMesse.IsEnabled = false;
                btn_åbnMesse.IsEnabled = false;
            }
        }

        private void btn_åbnMesse_Click(object sender, RoutedEventArgs e)
        {
            if (listView1.SelectedIndex != -1)
            {
                KonkurrenceVindue konkurrenceVindue = new KonkurrenceVindue(aktuelMesse, MesseController);
                konkurrenceVindue.ShowDialog();
            }
            else
            {
                MessageBox.Show("Vælg en messe i listen til venstre");
            }
            
            

        }

        private void btn_Bedømmelser_Click(object sender, RoutedEventArgs e)
        {
            BedømmelseVindue bedømmelsesVindue = new BedømmelseVindue(MesseController, aktuelMesse);
            bedømmelsesVindue.ShowDialog();
        }
    }
}
